package com.entity;

import java.util.ArrayList;
import java.util.List;

public class CheckerExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public CheckerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCheckeridIsNull() {
            addCriterion("checkerid is null");
            return (Criteria) this;
        }

        public Criteria andCheckeridIsNotNull() {
            addCriterion("checkerid is not null");
            return (Criteria) this;
        }

        public Criteria andCheckeridEqualTo(Integer value) {
            addCriterion("checkerid =", value, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridNotEqualTo(Integer value) {
            addCriterion("checkerid <>", value, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridGreaterThan(Integer value) {
            addCriterion("checkerid >", value, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridGreaterThanOrEqualTo(Integer value) {
            addCriterion("checkerid >=", value, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridLessThan(Integer value) {
            addCriterion("checkerid <", value, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridLessThanOrEqualTo(Integer value) {
            addCriterion("checkerid <=", value, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridIn(List<Integer> values) {
            addCriterion("checkerid in", values, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridNotIn(List<Integer> values) {
            addCriterion("checkerid not in", values, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridBetween(Integer value1, Integer value2) {
            addCriterion("checkerid between", value1, value2, "checkerid");
            return (Criteria) this;
        }

        public Criteria andCheckeridNotBetween(Integer value1, Integer value2) {
            addCriterion("checkerid not between", value1, value2, "checkerid");
            return (Criteria) this;
        }

        public Criteria andServiceidIsNull() {
            addCriterion("serviceid is null");
            return (Criteria) this;
        }

        public Criteria andServiceidIsNotNull() {
            addCriterion("serviceid is not null");
            return (Criteria) this;
        }

        public Criteria andServiceidEqualTo(Integer value) {
            addCriterion("serviceid =", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotEqualTo(Integer value) {
            addCriterion("serviceid <>", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidGreaterThan(Integer value) {
            addCriterion("serviceid >", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidGreaterThanOrEqualTo(Integer value) {
            addCriterion("serviceid >=", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidLessThan(Integer value) {
            addCriterion("serviceid <", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidLessThanOrEqualTo(Integer value) {
            addCriterion("serviceid <=", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidIn(List<Integer> values) {
            addCriterion("serviceid in", values, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotIn(List<Integer> values) {
            addCriterion("serviceid not in", values, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidBetween(Integer value1, Integer value2) {
            addCriterion("serviceid between", value1, value2, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotBetween(Integer value1, Integer value2) {
            addCriterion("serviceid not between", value1, value2, "serviceid");
            return (Criteria) this;
        }

        public Criteria andRevieweridIsNull() {
            addCriterion("reviewerid is null");
            return (Criteria) this;
        }

        public Criteria andRevieweridIsNotNull() {
            addCriterion("reviewerid is not null");
            return (Criteria) this;
        }

        public Criteria andRevieweridEqualTo(Integer value) {
            addCriterion("reviewerid =", value, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridNotEqualTo(Integer value) {
            addCriterion("reviewerid <>", value, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridGreaterThan(Integer value) {
            addCriterion("reviewerid >", value, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridGreaterThanOrEqualTo(Integer value) {
            addCriterion("reviewerid >=", value, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridLessThan(Integer value) {
            addCriterion("reviewerid <", value, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridLessThanOrEqualTo(Integer value) {
            addCriterion("reviewerid <=", value, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridIn(List<Integer> values) {
            addCriterion("reviewerid in", values, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridNotIn(List<Integer> values) {
            addCriterion("reviewerid not in", values, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridBetween(Integer value1, Integer value2) {
            addCriterion("reviewerid between", value1, value2, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweridNotBetween(Integer value1, Integer value2) {
            addCriterion("reviewerid not between", value1, value2, "reviewerid");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionIsNull() {
            addCriterion("revieweropinion is null");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionIsNotNull() {
            addCriterion("revieweropinion is not null");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionEqualTo(String value) {
            addCriterion("revieweropinion =", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionNotEqualTo(String value) {
            addCriterion("revieweropinion <>", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionGreaterThan(String value) {
            addCriterion("revieweropinion >", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionGreaterThanOrEqualTo(String value) {
            addCriterion("revieweropinion >=", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionLessThan(String value) {
            addCriterion("revieweropinion <", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionLessThanOrEqualTo(String value) {
            addCriterion("revieweropinion <=", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionLike(String value) {
            addCriterion("revieweropinion like", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionNotLike(String value) {
            addCriterion("revieweropinion not like", value, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionIn(List<String> values) {
            addCriterion("revieweropinion in", values, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionNotIn(List<String> values) {
            addCriterion("revieweropinion not in", values, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionBetween(String value1, String value2) {
            addCriterion("revieweropinion between", value1, value2, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andRevieweropinionNotBetween(String value1, String value2) {
            addCriterion("revieweropinion not between", value1, value2, "revieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridIsNull() {
            addCriterion("finalreviewerid is null");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridIsNotNull() {
            addCriterion("finalreviewerid is not null");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridEqualTo(String value) {
            addCriterion("finalreviewerid =", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridNotEqualTo(String value) {
            addCriterion("finalreviewerid <>", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridGreaterThan(String value) {
            addCriterion("finalreviewerid >", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridGreaterThanOrEqualTo(String value) {
            addCriterion("finalreviewerid >=", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridLessThan(String value) {
            addCriterion("finalreviewerid <", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridLessThanOrEqualTo(String value) {
            addCriterion("finalreviewerid <=", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridLike(String value) {
            addCriterion("finalreviewerid like", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridNotLike(String value) {
            addCriterion("finalreviewerid not like", value, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridIn(List<String> values) {
            addCriterion("finalreviewerid in", values, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridNotIn(List<String> values) {
            addCriterion("finalreviewerid not in", values, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridBetween(String value1, String value2) {
            addCriterion("finalreviewerid between", value1, value2, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweridNotBetween(String value1, String value2) {
            addCriterion("finalreviewerid not between", value1, value2, "finalreviewerid");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionIsNull() {
            addCriterion("finalrevieweropinion is null");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionIsNotNull() {
            addCriterion("finalrevieweropinion is not null");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionEqualTo(String value) {
            addCriterion("finalrevieweropinion =", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionNotEqualTo(String value) {
            addCriterion("finalrevieweropinion <>", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionGreaterThan(String value) {
            addCriterion("finalrevieweropinion >", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionGreaterThanOrEqualTo(String value) {
            addCriterion("finalrevieweropinion >=", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionLessThan(String value) {
            addCriterion("finalrevieweropinion <", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionLessThanOrEqualTo(String value) {
            addCriterion("finalrevieweropinion <=", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionLike(String value) {
            addCriterion("finalrevieweropinion like", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionNotLike(String value) {
            addCriterion("finalrevieweropinion not like", value, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionIn(List<String> values) {
            addCriterion("finalrevieweropinion in", values, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionNotIn(List<String> values) {
            addCriterion("finalrevieweropinion not in", values, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionBetween(String value1, String value2) {
            addCriterion("finalrevieweropinion between", value1, value2, "finalrevieweropinion");
            return (Criteria) this;
        }

        public Criteria andFinalrevieweropinionNotBetween(String value1, String value2) {
            addCriterion("finalrevieweropinion not between", value1, value2, "finalrevieweropinion");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}